package example.chapter6;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import com.opensymphony.xwork2.ActionSupport;

import example.model.Keyword;

public class TopKeywordAction extends ActionSupport{
	private List<Keyword> listTopKeyword;
	
	public String displayTopKeyword() throws Exception{
		long seed = System.currentTimeMillis();
		Random random = new Random(seed);
		
		List list = getKeywordList();
		listTopKeyword = new ArrayList<Keyword>();
		
		for(int i = 0 ; i < 10 ; i++){
			int index = random.nextInt(list.size());
			listTopKeyword.add(new Keyword(i+1, (String)list.get(index)));
			list.remove(index);
		}
		
		
		return SUCCESS;
	}
	
	public List<String> getKeywordList(){
		List<String> list = new ArrayList<String>();
		list.add("JBoss");
		list.add("Struts2");
		list.add("Spring");
		list.add("iBatis");
		list.add("Hibernate");
		list.add("JSF");
		list.add("EJB");
		list.add("SEAM");
		list.add("SOA");
		list.add("WebService");
		list.add("BPM");
		list.add("Acegi");
		list.add("Sitemesh");
		list.add("Tiles");
		list.add("Valocity");
		list.add("Log4J");
		list.add("JasperReport");
		list.add("JFreeChart");
		list.add("Shales");
		list.add("Ant");
		list.add("Ajax");
		
		return list;
	}

	public List<Keyword> getListTopKeyword() {
		return listTopKeyword;
	}

	public void setListTopKeyword(List<Keyword> listTopKeyword) {
		this.listTopKeyword = listTopKeyword;
	}
}
